package com.xxr.mom.ci.charging.interworking.vo.api;

import com.alibaba.fastjson.annotation.JSONField;
import com.xxr.mom.ci.charging.interworking.vo.ChargeDetail;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 推送充电订单信息 参数
 * @description: NotificationChargeOrderInfoRequest
 * @date: 2024/8/17 21:11
 * @author: natsuki_kining
 * @version: 1.0
 */
@Data
public class NotificationChargeOrderInfoRequest {
    /**
     * 充电订单号
     * 必填
     */
    @JSONField(name = "StartChargeSeq")
    private String startChargeSeq;
    /**
     * 充电设备接口编码
     * 必填
     */
    @JSONField(name = "ConnectorId")
    private String connectorId;
    /**
     * 开始充电时间
     * 必填
     */
    @JSONField(name = "StartTime", format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    /**
     * 本次采样时间
     * 必填
     */
    @JSONField(name = "EndTime", format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    /**
     * 累计充电量
     * 单位:度
     * 小数点后2位
     * 必填
     */
    @JSONField(name = "TotalPower")
    private Double totalPower;
    /**
     * 总电费
     * 单位:元
     * 小数点后2位
     * 必填
     */
    @JSONField(name = "TotalElecMoney")
    private Double totalElecMoney;
    /**
     * 总服务费
     * 单位:元
     * 小数点后2位
     * 必填
     */
    @JSONField(name = "TotalSeviceMoney")
    private Double totalSeviceMoney;
    /**
     * 累计总金额
     * 单位:元，
     * 小数点后2位
     */
    @JSONField(name = "TotalMoney")
    private Double totalMoney;
    /**
     * 充电结束原因
     * 必填
     * 0：用户手动停止充电
     * 1：客户归属地运营商平台停止充电
     * 2：BMS停止充电
     * 3：充电机设备故障
     * 4：连接器断开
     * 5~99：自定义
     */
    @JSONField(name = "StopReason")
    private Integer stopReason;
    /**
     * 时段数N
     * 范围：0~32
     */
    @JSONField(name = "SumPeriod")
    private Integer sumPeriod;
    /**
     * 充电明细信息
     */
    @JSONField(name = "ChargeDetails")
    private List<ChargeDetail> chargeDetails;
}
